package com.qr.workqueue;

import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;

public class Producer_WorkQueue {

    //发送消息
    public static void main(String[] args) throws Exception{

//        创建连接工厂
        ConnectionFactory connectionFactory = new ConnectionFactory();
//        设置参数
        connectionFactory.setHost("192.168.150.100");
        connectionFactory.setPort(5672);
        //设置虚拟机，有一个默认值/
        connectionFactory.setVirtualHost("/");
        connectionFactory.setUsername("guest");
        connectionFactory.setPassword("guest");

//        创建连接connection
        Connection connection = connectionFactory.newConnection();
//        创建channel
        Channel channel = connection.createChannel();
//        创建队列
        /**
         * 队列名称
         * 是否被持久化，持久化后，mq重启，参数还在
         * exclusive：
         *      是否独占，只能有一个消费来监听队列
         *      当connection关闭时是否关闭队列
         *  autoDelete:
         *      是否自动删除，当没有consumer的时候
         */
        //如果没有helloworld这个队列则会创建该队列
        channel.queueDeclare("workqueues",true,false,false,null);

//        发送消息
        /**
         * exchange：交换机名称
         * routingKey:路由名称,使用默认的交换机，routingkey要和队列的名称对应起来才行
         * props:配置信息
         * body：字节消息
         */

        for (int i = 0; i < 10; i++) {
            String body = "hello world" + i;
            channel.basicPublish("","workqueues",null,body.getBytes());
        }


        //释放资源
        channel.close();
        connection.close();

    }

}
